<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>dom4j - 1.6.1</title>
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../style.css" TITLE="Style">
</head>
<body>
<TABLE cellspacing="0" cellpadding="2"><TBODY>
    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ DocumentFactory.java -->
  <TR>
    <TD colspan="6" class="reportHeader">
    <TABLE width="100%"><TR>
    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b>&nbsp;ma mei 16 2005 14:23:01 GMT+01:00</DIV>
            <DIV class="navBar"><a href="../../pkgs-summary.html"><b>Overview</b></a>&nbsp;&nbsp;&nbsp;<a href="pkg-summary.html"><b>Package</b></a>&nbsp;&nbsp;&nbsp;<font class="navBarCurrent">File</font></DIV>
    
<DIV class="navBarLink">
&nbsp;&nbsp;&nbsp;
    <A HREF="../../index.html" TARGET="_top">FRAMES</A>&nbsp;&nbsp;
<A HREF="DocumentFactory.html" TARGET="_top">NO FRAMES</A>&nbsp;&nbsp;
    </DIV>

</TD>
         <td class="headerStats" valign="top" width="40%" align="right">
        <table align="right">
         <tr>
           <td nowrap><b>file stats:</b></td>
           <td align="right"><b>LOC:</b></td>
           <td align="right">456</td>
           <td width="10%">&nbsp;</td>
           <td align="right"><b>Methods:</b></td>
           <td align="right">36</td>
         </tr>
         <tr>
           <td></td>
           <td align="right"><b>NCLOC:</b></td>
           <td align="right">193</td>
           <td width="10%">&nbsp;</td>
           <td align="right"><b>Classes:</b></td>
           <td align="right">1</td>
         </tr>
      </table>
     </td>
    </TR></TABLE>
   </TD>
  </TR>

<TR><TD class="hbreak" colspan="6">&nbsp;</TD></TR>
  <TR>
    <TD class="graphHeaderLeft"><b>&nbsp;Source file</b></TD>
    <TD class="graphHeader">Conditionals</TD>
    <TD class="graphHeader">Statements</TD>
    <TD class="graphHeader">Methods</TD>
    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
  </TR>   
  <TR>
    <TD class="graphItem">
        	   DocumentFactory.java
	    </TD>
   
    <TD class="graphPercent" align="center">75%</TD>
    <TD class="graphPercent" align="center">78,9%</TD>
    <TD class="graphPercent" align="center">86,1%</TD>
    <TD class="graphBarLeft" align="center"><B>80,9%</B></TD>
    <TD class="graphBar">
            <TABLE class="barGraph" cellspacing="0">
        <TBODY>
          <TR>
	               <TD class="covered"><img alt="coverage" src="../../img/trans.gif"
                   width="161" height="12"></TD>
            <TD class="uncovered"><img alt="coverage" src="../../img/trans.gif"
                   width="39" height="12"></TD>
	   	  </TR>
	</TBODY>
      </TABLE>
          </TD>
  </TR> 
</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
<TR><TD align="right" class="lineCount">
&nbsp;1</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;2</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;3</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;4</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;5</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;6</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;7</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;8</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;9</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;10</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.IOException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;11</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.ObjectInputStream;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;12</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Serializable;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;13</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;14</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;15</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;16</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.rule.Pattern;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;17</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.AbstractDocument;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;18</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultAttribute;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;19</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultCDATA;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;20</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultComment;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;21</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultDocument;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;22</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultDocumentType;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;23</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultElement;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;24</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultEntity;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;25</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultProcessingInstruction;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;26</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultText;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;27</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.QNameCache;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;28</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.util.SimpleSingleton;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;29</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.util.SingletonStrategy;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;30</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.xpath.DefaultXPath;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;31</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.xpath.XPathPattern;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;32</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.jaxen.VariableContext;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;33</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;34</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;35</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;36</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;code&gt;DocumentFactory&lt;/code&gt; is a collection of factory methods to allow</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;37</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * easy custom building of DOM4J trees. The default tree that is built uses a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;38</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * doubly linked tree.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;39</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;/p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;40</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;41</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;42</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * The tree built allows full XPath expressions from anywhere on the tree.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;43</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;/p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;44</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;45</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> &lt;a href="mailto:jstrachan@apache.org"&gt;James Strachan &lt;/a&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;46</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
<A name="DocumentFactory">&nbsp;47</A></TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DocumentFactory <span class="keyword">implements</span> Serializable {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;48</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> SingletonStrategy singleton = <span class="keyword">null</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;49</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;50</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">transient</span> QNameCache cache;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;51</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;52</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Default namespace prefix -&gt; URI mappings for XPath expressions to use */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;53</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Map xpathNamespaceURIs;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;54</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;55</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 55: method entered 90 times.">&nbsp;90</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 55: method entered 90 times.">    <span class="keyword">private</span> <span class="keyword">static</span> SingletonStrategy createSingleton() {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;56</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 56: statement executed 90 times.">&nbsp;90</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 56: statement executed 90 times.">        SingletonStrategy result = <span class="keyword">null</span>;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;57</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        </SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;58</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 58: statement executed 90 times.">&nbsp;90</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 58: statement executed 90 times.">        String documentFactoryClassName;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;59</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 59: statement executed 90 times.">&nbsp;90</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 59: statement executed 90 times.">        <span class="keyword">try</span> {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;60</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 60: statement executed 90 times.">&nbsp;90</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 60: statement executed 90 times.">            documentFactoryClassName = System.getProperty(<span class="string">"org.dom4j.factory"</span>,</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;61</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="string">"org.dom4j.DocumentFactory"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;62</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (Exception e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;63</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 63: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 63: statement not executed.">            documentFactoryClassName = <span class="string">"org.dom4j.DocumentFactory"</span>;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;64</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;65</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;66</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 66: statement executed 90 times.">&nbsp;90</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 66: statement executed 90 times.">        <span class="keyword">try</span> {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;67</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 67: statement executed 90 times.">&nbsp;90</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 67: statement executed 90 times.">            String singletonClass = System.getProperty(</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;68</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="string">"org.dom4j.DocumentFactory.singleton.strategy"</span>,</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;69</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="string">"org.dom4j.util.SimpleSingleton"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;70</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 70: statement executed 90 times.">&nbsp;90</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 70: statement executed 90 times.">            Class clazz = Class.forName(singletonClass);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;71</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 71: statement executed 90 times.">&nbsp;90</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 71: statement executed 90 times.">            result = (SingletonStrategy) clazz.newInstance();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;72</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (Exception e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;73</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 73: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: statement not executed.">            result = <span class="keyword">new</span> SimpleSingleton();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;74</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;75</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;76</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 76: statement executed 90 times.">&nbsp;90</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 76: statement executed 90 times.">        result.setSingletonClassName(documentFactoryClassName);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;77</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        </SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;78</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 78: statement executed 90 times.">&nbsp;90</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 78: statement executed 90 times.">        <span class="keyword">return</span> result;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;79</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;80</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;81</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 81: method entered 541 times.">&nbsp;541</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 81: method entered 541 times.">    <span class="keyword">public</span> DocumentFactory() {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;82</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 82: statement executed 541 times.">&nbsp;541</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 82: statement executed 541 times.">        init();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;83</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;84</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;85</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;86</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;87</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Access to singleton implementation of DocumentFactory which is used if no</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;88</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DocumentFactory is specified when building using the standard builders.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;89</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;/p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;90</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;91</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the default singleon instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;92</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;93</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 93: method entered 27023 times.">&nbsp;27023</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 93: method entered 27023 times.">    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">synchronized</span> DocumentFactory getInstance() {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;94</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 94: statement executed 27023 times.">&nbsp;27023</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 94: statement executed 27023 times.">        <span class="keyword">if</span> (singleton == <span class="keyword">null</span>) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;95</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 95: statement executed 90 times.">&nbsp;90</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 95: statement executed 90 times.">            singleton = createSingleton();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;96</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;97</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 97: statement executed 27023 times.">&nbsp;27023</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 97: statement executed 27023 times.">        <span class="keyword">return</span> (DocumentFactory) singleton.instance();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;98</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;99</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;100</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Factory methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;101</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 101: method entered 6270 times.">&nbsp;6270</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 101: method entered 6270 times.">    <span class="keyword">public</span> Document createDocument() {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;102</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 102: statement executed 6270 times.">&nbsp;6270</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 102: statement executed 6270 times.">        DefaultDocument answer = <span class="keyword">new</span> DefaultDocument();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;103</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 103: statement executed 6270 times.">&nbsp;6270</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 103: statement executed 6270 times.">        answer.setDocumentFactory(<span class="keyword">this</span>);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;104</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;105</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 105: statement executed 6270 times.">&nbsp;6270</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 105: statement executed 6270 times.">        <span class="keyword">return</span> answer;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;106</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;107</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;108</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;109</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;110</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;111</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> encoding</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;112</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;113</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;114</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;115</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;116</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@since</span> 1.5</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;117</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;118</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 118: method entered 5816 times.">&nbsp;5816</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 118: method entered 5816 times.">    <span class="keyword">public</span> Document createDocument(String encoding) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;119</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// to keep the DocumentFactory backwards compatible, we have to do this</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;120</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// in this not so nice way, since subclasses only need to extend the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;121</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// createDocument() method.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;122</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 122: statement executed 5816 times.">&nbsp;5816</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 122: statement executed 5816 times.">        Document answer = createDocument();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;123</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;124</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 124: expression evaluated to true 5816 times, false 0 times.">&nbsp;5816</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 124: expression evaluated to true 5816 times, false 0 times.">        <span class="keyword">if</span> (answer <span class="keyword">instanceof</span> AbstractDocument) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;125</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 125: statement executed 5816 times.">&nbsp;5816</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 125: statement executed 5816 times.">            ((AbstractDocument) answer).setXMLEncoding(encoding);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;126</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;127</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;128</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 128: statement executed 5816 times.">&nbsp;5816</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 128: statement executed 5816 times.">        <span class="keyword">return</span> answer;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;129</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;130</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;131</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 131: method entered 2 times.">&nbsp;2</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 131: method entered 2 times.">    <span class="keyword">public</span> Document createDocument(Element rootElement) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;132</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 132: statement executed 2 times.">&nbsp;2</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 132: statement executed 2 times.">        Document answer = createDocument();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;133</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 133: statement executed 2 times.">&nbsp;2</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 133: statement executed 2 times.">        answer.setRootElement(rootElement);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;134</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;135</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 135: statement executed 2 times.">&nbsp;2</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 135: statement executed 2 times.">        <span class="keyword">return</span> answer;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;136</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;137</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;138</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 138: method entered 11 times.">&nbsp;11</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 138: method entered 11 times.">    <span class="keyword">public</span> DocumentType createDocType(String name, String publicId,</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;139</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            String systemId) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;140</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 140: statement executed 11 times.">&nbsp;11</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 140: statement executed 11 times.">        <span class="keyword">return</span> <span class="keyword">new</span> DefaultDocumentType(name, publicId, systemId);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;141</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;142</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;143</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 143: method entered 94468 times.">&nbsp;94468</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 143: method entered 94468 times.">    <span class="keyword">public</span> Element createElement(QName qname) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;144</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 144: statement executed 94468 times.">&nbsp;94468</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 144: statement executed 94468 times.">        <span class="keyword">return</span> <span class="keyword">new</span> DefaultElement(qname);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;145</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;146</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;147</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 147: method entered 465 times.">&nbsp;465</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 147: method entered 465 times.">    <span class="keyword">public</span> Element createElement(String name) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;148</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 148: statement executed 465 times.">&nbsp;465</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 148: statement executed 465 times.">        <span class="keyword">return</span> createElement(createQName(name));</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;149</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;150</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;151</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 151: method entered 4 times.">&nbsp;4</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 151: method entered 4 times.">    <span class="keyword">public</span> Element createElement(String qualifiedName, String namespaceURI) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;152</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 152: statement executed 4 times.">&nbsp;4</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 152: statement executed 4 times.">        <span class="keyword">return</span> createElement(createQName(qualifiedName, namespaceURI));</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;153</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;154</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;155</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 155: method entered 14165 times.">&nbsp;14165</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 155: method entered 14165 times.">    <span class="keyword">public</span> Attribute createAttribute(Element owner, QName qname, String value) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;156</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 156: statement executed 14165 times.">&nbsp;14165</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 156: statement executed 14165 times.">        <span class="keyword">return</span> <span class="keyword">new</span> DefaultAttribute(qname, value);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;157</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;158</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;159</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 159: method entered 1630 times.">&nbsp;1630</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 159: method entered 1630 times.">    <span class="keyword">public</span> Attribute createAttribute(Element owner, String name, String value) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;160</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 160: statement executed 1630 times.">&nbsp;1630</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 160: statement executed 1630 times.">        <span class="keyword">return</span> createAttribute(owner, createQName(name), value);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;161</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;162</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;163</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 163: method entered 103 times.">&nbsp;103</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 163: method entered 103 times.">    <span class="keyword">public</span> CDATA createCDATA(String text) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;164</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 164: statement executed 103 times.">&nbsp;103</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 164: statement executed 103 times.">        <span class="keyword">return</span> <span class="keyword">new</span> DefaultCDATA(text);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;165</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;166</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;167</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 167: method entered 503 times.">&nbsp;503</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 167: method entered 503 times.">    <span class="keyword">public</span> Comment createComment(String text) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;168</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 168: statement executed 503 times.">&nbsp;503</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 168: statement executed 503 times.">        <span class="keyword">return</span> <span class="keyword">new</span> DefaultComment(text);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;169</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;170</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;171</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 171: method entered 121456 times.">&nbsp;121456</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 171: method entered 121456 times.">    <span class="keyword">public</span> Text createText(String text) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;172</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 172: expression evaluated to true 0 times, false 121456 times.">&nbsp;121456</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 172: expression evaluated to true 0 times, false 121456 times.">        <span class="keyword">if</span> (text == <span class="keyword">null</span>) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;173</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 173: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 173: statement not executed.">            String msg = <span class="string">"Adding text to an XML document must not be null"</span>;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;174</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 174: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 174: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(msg);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;175</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;176</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;177</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 177: statement executed 121456 times.">&nbsp;121456</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 177: statement executed 121456 times.">        <span class="keyword">return</span> <span class="keyword">new</span> DefaultText(text);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;178</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;179</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;180</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 180: method entered 4 times.">&nbsp;4</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 180: method entered 4 times.">    <span class="keyword">public</span> Entity createEntity(String name, String text) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;181</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 181: statement executed 4 times.">&nbsp;4</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 181: statement executed 4 times.">        <span class="keyword">return</span> <span class="keyword">new</span> DefaultEntity(name, text);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;182</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;183</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;184</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 184: method entered 100506 times.">&nbsp;100506</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 184: method entered 100506 times.">    <span class="keyword">public</span> Namespace createNamespace(String prefix, String uri) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;185</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 185: statement executed 100506 times.">&nbsp;100506</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 185: statement executed 100506 times.">        <span class="keyword">return</span> Namespace.get(prefix, uri);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;186</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;187</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;188</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 188: method entered 16 times.">&nbsp;16</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 188: method entered 16 times.">    <span class="keyword">public</span> ProcessingInstruction createProcessingInstruction(String target,</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;189</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            String data) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;190</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 190: statement executed 16 times.">&nbsp;16</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 190: statement executed 16 times.">        <span class="keyword">return</span> <span class="keyword">new</span> DefaultProcessingInstruction(target, data);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;191</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;192</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;193</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 193: method not entered.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 193: method not entered.">    <span class="keyword">public</span> ProcessingInstruction createProcessingInstruction(String target,</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;194</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            Map data) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;195</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 195: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 195: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> DefaultProcessingInstruction(target, data);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;196</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;197</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;198</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 198: method entered 104391 times.">&nbsp;104391</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 198: method entered 104391 times.">    <span class="keyword">public</span> QName createQName(String localName, Namespace namespace) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;199</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 199: statement executed 104391 times.">&nbsp;104391</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 199: statement executed 104391 times.">        <span class="keyword">return</span> cache.get(localName, namespace);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;200</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;201</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;202</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 202: method entered 12760 times.">&nbsp;12760</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 202: method entered 12760 times.">    <span class="keyword">public</span> QName createQName(String localName) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;203</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 203: statement executed 12760 times.">&nbsp;12760</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 203: statement executed 12760 times.">        <span class="keyword">return</span> cache.get(localName);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;204</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;205</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;206</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 206: method entered 16 times.">&nbsp;16</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 206: method entered 16 times.">    <span class="keyword">public</span> QName createQName(String name, String prefix, String uri) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;207</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 207: statement executed 16 times.">&nbsp;16</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 207: statement executed 16 times.">        <span class="keyword">return</span> cache.get(name, Namespace.get(prefix, uri));</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;208</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;209</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;210</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 210: method entered 30 times.">&nbsp;30</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 210: method entered 30 times.">    <span class="keyword">public</span> QName createQName(String qualifiedName, String uri) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;211</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 211: statement executed 30 times.">&nbsp;30</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 211: statement executed 30 times.">        <span class="keyword">return</span> cache.get(qualifiedName, uri);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;212</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;213</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;214</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;215</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;216</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;code&gt;createXPath&lt;/code&gt; parses an XPath expression and creates a new</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;217</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * XPath &lt;code&gt;XPath&lt;/code&gt; instance.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;218</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;/p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;219</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;220</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xpathExpression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;221</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the XPath expression to create</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;222</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;223</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a new &lt;code&gt;XPath&lt;/code&gt; instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;224</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;225</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> InvalidXPathException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;226</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if the XPath expression is invalid</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;227</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;228</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 228: method entered 589 times.">&nbsp;589</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 228: method entered 589 times.">    <span class="keyword">public</span> XPath createXPath(String xpathExpression)</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;229</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> InvalidXPathException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;230</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 230: statement executed 589 times.">&nbsp;589</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 230: statement executed 589 times.">        DefaultXPath xpath = <span class="keyword">new</span> DefaultXPath(xpathExpression);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;231</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;232</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 232: statement executed 585 times.">&nbsp;585</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 232: statement executed 585 times.">        <span class="keyword">if</span> (xpathNamespaceURIs != <span class="keyword">null</span>) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;233</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 233: statement executed 3 times.">&nbsp;3</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 233: statement executed 3 times.">            xpath.setNamespaceURIs(xpathNamespaceURIs);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;234</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;235</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;236</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 236: statement executed 585 times.">&nbsp;585</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 236: statement executed 585 times.">        <span class="keyword">return</span> xpath;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;237</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;238</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;239</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;240</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;241</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;code&gt;createXPath&lt;/code&gt; parses an XPath expression and creates a new</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;242</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * XPath &lt;code&gt;XPath&lt;/code&gt; instance.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;243</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;/p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;244</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;245</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xpathExpression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;246</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the XPath expression to create</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;247</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> variableContext</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;248</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the variable context to use when evaluating the XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;249</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;250</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a new &lt;code&gt;XPath&lt;/code&gt; instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;251</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;252</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 252: method entered 1 time.">&nbsp;1</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 252: method entered 1 time.">    <span class="keyword">public</span> XPath createXPath(String xpathExpression,</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;253</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            VariableContext variableContext) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;254</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 254: statement executed 1 time.">&nbsp;1</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 254: statement executed 1 time.">        XPath xpath = createXPath(xpathExpression);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;255</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 255: statement executed 1 time.">&nbsp;1</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 255: statement executed 1 time.">        xpath.setVariableContext(variableContext);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;256</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;257</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 257: statement executed 1 time.">&nbsp;1</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 257: statement executed 1 time.">        <span class="keyword">return</span> xpath;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;258</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;259</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;260</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;261</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;262</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;code&gt;createXPathFilter&lt;/code&gt; parses a NodeFilter from the given XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;263</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * filter expression. XPath filter expressions occur within XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;264</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * expressions such as &lt;code&gt;self::node()[ filterExpression ]&lt;/code&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;265</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;/p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;266</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;267</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xpathFilterExpression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;268</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the XPath filter expression to create</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;269</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> variableContext</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;270</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the variable context to use when evaluating the XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;271</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;272</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a new &lt;code&gt;NodeFilter&lt;/code&gt; instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;273</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;274</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 274: method not entered.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 274: method not entered.">    <span class="keyword">public</span> NodeFilter createXPathFilter(String xpathFilterExpression,</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;275</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            VariableContext variableContext) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;276</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 276: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 276: statement not executed.">        XPath answer = createXPath(xpathFilterExpression);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;277</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;278</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// DefaultXPath answer = new DefaultXPath( xpathFilterExpression );</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;279</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 279: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 279: statement not executed.">        answer.setVariableContext(variableContext);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;280</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;281</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 281: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 281: statement not executed.">        <span class="keyword">return</span> answer;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;282</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;283</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;284</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;285</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;286</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;code&gt;createXPathFilter&lt;/code&gt; parses a NodeFilter from the given XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;287</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * filter expression. XPath filter expressions occur within XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;288</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * expressions such as &lt;code&gt;self::node()[ filterExpression ]&lt;/code&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;289</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;/p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;290</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;291</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xpathFilterExpression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;292</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the XPath filter expression to create</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;293</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;294</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a new &lt;code&gt;NodeFilter&lt;/code&gt; instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;295</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;296</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 296: method entered 4 times.">&nbsp;4</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 296: method entered 4 times.">    <span class="keyword">public</span> NodeFilter createXPathFilter(String xpathFilterExpression) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;297</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 297: statement executed 4 times.">&nbsp;4</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 297: statement executed 4 times.">        <span class="keyword">return</span> createXPath(xpathFilterExpression);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;298</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;299</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// return new DefaultXPath( xpathFilterExpression );</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;300</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;301</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;302</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;303</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;304</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;code&gt;createPattern&lt;/code&gt; parses the given XPath expression to create</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;305</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * an XSLT style {@link Pattern}instance which can then be used in an XSLT</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;306</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * processing model.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;307</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;/p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;308</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;309</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xpathPattern</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;310</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the XPath pattern expression to create</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;311</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;312</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a new &lt;code&gt;Pattern&lt;/code&gt; instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;313</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;314</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 314: method entered 37 times.">&nbsp;37</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 314: method entered 37 times.">    <span class="keyword">public</span> Pattern createPattern(String xpathPattern) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;315</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 315: statement executed 37 times.">&nbsp;37</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 315: statement executed 37 times.">        <span class="keyword">return</span> <span class="keyword">new</span> XPathPattern(xpathPattern);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;316</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;317</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;318</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Properties</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;319</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;320</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;321</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;322</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns a list of all the QName instances currently used by this document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;323</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * factory</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;324</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;325</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;326</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;327</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 327: method entered 1 time.">&nbsp;1</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 327: method entered 1 time.">    <span class="keyword">public</span> List getQNames() {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;328</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 328: statement executed 1 time.">&nbsp;1</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 328: statement executed 1 time.">        <span class="keyword">return</span> cache.getQNames();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;329</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;330</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;331</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;332</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;333</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;334</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the Map of namespace URIs that will be used by by XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;335</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         expressions to resolve namespace prefixes into namespace URIs.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;336</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         The map is keyed by namespace prefix and the value is the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;337</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         namespace URI. This value could well be null to indicate no</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;338</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         namespace URIs are being mapped.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;339</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;340</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 340: method not entered.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 340: method not entered.">    <span class="keyword">public</span> Map getXPathNamespaceURIs() {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;341</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 341: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 341: statement not executed.">        <span class="keyword">return</span> xpathNamespaceURIs;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;342</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;343</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;344</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;345</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the namespace URIs to be used by XPath expressions created by this</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;346</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * factory or by nodes associated with this factory. The keys are namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;347</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * prefixes and the values are namespace URIs.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;348</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;349</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> namespaceURIs</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;350</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;351</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;352</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 352: method entered 2 times.">&nbsp;2</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 352: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setXPathNamespaceURIs(Map namespaceURIs) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;353</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 353: statement executed 2 times.">&nbsp;2</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 353: statement executed 2 times.">        <span class="keyword">this</span>.xpathNamespaceURIs = namespaceURIs;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;354</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;355</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;356</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;357</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;358</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;359</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;360</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;361</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;code&gt;createSingleton&lt;/code&gt; creates the singleton instance from the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;362</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * given class name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;363</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;/p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;364</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;365</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> className</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;366</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the name of the DocumentFactory class to use</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;367</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;368</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a new singleton instance.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;369</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;370</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 370: method not entered.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 370: method not entered.">    <span class="keyword">protected</span> <span class="keyword">static</span> DocumentFactory createSingleton(String className) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;371</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// let's try and class load an implementation?</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;372</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 372: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 372: statement not executed.">        <span class="keyword">try</span> {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;373</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// I'll use the current class loader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;374</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// that loaded me to avoid problems in J2EE and web apps</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;375</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 375: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 375: statement not executed.">            Class theClass = Class.forName(className, <span class="keyword">true</span>,</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;376</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                    DocumentFactory.<span class="keyword">class</span>.getClassLoader());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;377</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;378</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 378: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 378: statement not executed.">            <span class="keyword">return</span> (DocumentFactory) theClass.newInstance();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;379</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (Throwable e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;380</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 380: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 380: statement not executed.">            System.out.println(<span class="string">"WARNING: Cannot load DocumentFactory: "</span></A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;381</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                    + className);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;382</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;383</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 383: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 383: statement not executed.">            <span class="keyword">return</span> <span class="keyword">new</span> DocumentFactory();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;384</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;385</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;386</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;387</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;388</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;389</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;390</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> qname</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;391</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;392</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;393</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the cached QName instance if there is one or adds the given qname</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;394</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         to the cache if not</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;395</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;396</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 396: method not entered.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 396: method not entered.">    <span class="keyword">protected</span> QName intern(QName qname) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;397</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 397: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 397: statement not executed.">        <span class="keyword">return</span> cache.intern(qname);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;398</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;399</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;400</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;401</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Factory method to create the QNameCache. This method should be overloaded</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;402</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * if you wish to use your own derivation of QName.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;403</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;404</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;405</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;406</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 406: method entered 544 times.">&nbsp;544</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 406: method entered 544 times.">    <span class="keyword">protected</span> QNameCache createQNameCache() {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;407</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 407: statement executed 544 times.">&nbsp;544</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 407: statement executed 544 times.">        <span class="keyword">return</span> <span class="keyword">new</span> QNameCache(<span class="keyword">this</span>);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;408</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;409</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;410</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 410: method entered 3 times.">&nbsp;3</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 410: method entered 3 times.">    <span class="keyword">private</span> <span class="keyword">void</span> readObject(ObjectInputStream in) <span class="keyword">throws</span> IOException,</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;411</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            ClassNotFoundException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;412</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 412: statement executed 3 times.">&nbsp;3</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 412: statement executed 3 times.">        in.defaultReadObject();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;413</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 413: statement executed 3 times.">&nbsp;3</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 413: statement executed 3 times.">        init();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;414</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;415</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;416</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 416: method entered 544 times.">&nbsp;544</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 416: method entered 544 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> init() {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;417</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 417: statement executed 544 times.">&nbsp;544</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 417: statement executed 544 times.">        cache = createQNameCache();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;418</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;419</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;420</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;421</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;422</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;423</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;424</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;425</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;426</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;427</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;428</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;429</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;430</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;431</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;432</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;433</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;434</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;435</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info@metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;436</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;437</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;438</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;439</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;440</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;441</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;442</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;443</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;444</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;445</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;446</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;447</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;448</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;449</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;450</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;451</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;452</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;453</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;454</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;455</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;456</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
<TABLE width="100%"><TR><TD class="hbreak" colspan="6">&nbsp;</TD></TR>
<TR><TD class="footer" colspan="6">
<table>
<tr>
 <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
<td>&nbsp;</td><td style="BORDER-LEFT: #9c9c9c 1px solid;">&nbsp;</td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
</tr>
</table>
</td>
</tr></TABLE>
